Friday, February 28, 2003

VMC Optimization: SGA vs. fixed sample reweighting


In VMC, we parameterize the wave function and vary the parameters until the minimum energy (or variance) is reached. Fixed sample reweighting generates a number of configurations from the MC process, and then uses a least squares minimization algorithm and a reweighting estimate for the energy to minimize the variance of the energies.


The Stochastic Gradient Approximation (SGA) takes a noisy estimate of the gradient and moves in that direction ("downhill"). The amount it moves is scaled by a variable that decreases each iteration (usually 1/n). It is guaranteed to converge, but it may take a while.


I don't like the fixed sample reweighting (FSR) method on aesthetic grounds. SGA feels more in line with the "Monte Carlo spirit". FSR feels like it is taking very coarse steps: sample configurations for a while, stop and do a minimization, repeat these two steps for a few iterations. Each step is large, and results in significant improvement. The SGA, on the other hand takes a large number of small steps. Each individual step doesn't give much improvement (or any improvement at all), but the steps accumulate to give a good answer.


Aesthetic considerations aside, FSR requires no analytic gradients for efficient implementation. SGA needs analytic gradients for most of the parameters (you could do numerical gradients, but the time gets much worse)


FSR does variance minimization, and SGA does energy minimization - there may be some differences in the resulting quality of the wave functions (JCP 112, 4935)

Monday, February 24, 2003

Derivative operators and forward walking in DMC


Using Diffusion Monte Carlo (DMC) to compute estimators other than the energy leads to a "mixed estimator"- an average that combines the trial wavefunction and the exact ground state (actually the fixed node ground state) - not what we really want. However, the number of children of each walker after a long time is proportional to the ratio of the fixed node ground state to the trial wavefunction. This leads to the forward walking procedure for obtaining correct averages over the fixed node ground state. See Casulleras and Boronat ( PRB 52, 3654) for examples, references, and implementation details.


Numerical values for derivative operators, such as the kinetic energy, are computed by applying the operator to the trial wavefunction. The forward walking procedure only corrects the distribution in the average, not the values of the estimator. (we really want the derivative applied to the exact wavefunction, not the trial wavefunction).


Computing the kinetic energy (and the pressure) by naively doing forward walking on the kinetic energy is incorrect. For the kinetic energy, we can use the total energy and the forward walked potential energy to obtain the kinetic energy.

Thursday, February 20, 2003

Use Bennett's method for free energy calculations


That's the conclusion that Nandou Lu, Jayant Singh, and David Kofke reach in a recent paper (
JCP 118, 2977
)


Bennett's method requires an estimate of the free energy, but that can be obtained via iteration. The authors argue that even without fully optimizing the solution, the free energy produced is still better than other methods based on overlap sampling.

Tuesday, February 18, 2003

Coupled Electronic-Ionic Monte Carlo (CEIMC)


Time for a little shameless self promotion. My thesis work combined a classical MC calculation of H2 molecules with a QMC calculation of the electronic (molecular interaction) energy (like the Car-Parrinello method combined classical molecular dynamics of the nuclei with a Density Functional Theory (DFT) calculation of the electronic energy). The F77 code to do molecular H2 calculations is here.


There is a problem in the chapter on VMC optimization - I did the fixed sample reweighting with a general optimizer rather than one specifically for least squares problems. This makes a difference in the run time. A corrected version of the data using a least squares optimizer can be found in this article.


Edit, 2/10/2004 - corrected link to thesis

Monday, February 17, 2003

Introduction to QMC


Quantum Monte Carlo is a set of techniques used in chemistry and physics to solve the Schrodinger equation (which describes the interactions between electrons and nuclei to make atoms and molecules).
The "Monte Carlo" part refers to the use of stochastic (random number) solution methods.


For more information, see

This is an experiment in research/publishing/making useful information available on the web.